Communications networks have finite capacity. When customers attempt to use more network capacity than is available, network equipment is forced to slow or stop some communications. A best-effort transport treats all traffic equally. In a network with best-effort delivery mechanisms, where for example, two end-users attempt to send 1 Mbps of traffic each across the same T1 line, typically the network will limit each user to 0.77 Mbps of bandwidth.
However, networks of a type that traditionally provide best-effort transport, such as Internet Protocol (IP) based networks, are now carrying data for many different types of applications, with different quality of service (QoS) requirements. Examples of these applications are web browsing, database access, Voice over IP (VoIP), and videoconferencing. Network performance degradation impacts these applications differently. For example, a ten percent drop in available bandwidth has a negligible effect on web browsing but makes VoIP unusable.
Furthermore, enterprises place different values on various applications. For example, to an insurance company, a SAP-based claims processing application is mission-critical. To such a company, a ten percent drop in performance of a SAP® application is much worse than a ten percent drop in web browsing performance.
To address this problem, network elements, such as routers and switches, are now capable of classifying and prioritizing traffic in order to meet quality of service requirements. Each network element must be configured for quality of service requirements. Network elements typically use command line interfaces to enter configuration information. For this purpose cryptic and often complex commands must be learned. Furthermore, the mechanisms for providing QoS in the network elements are based on low-level network criteria, such as IP addresses, User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) port numbers. Thus, the underlying hardware and technology must be well understood.
Users who will also be referred to as customers, even if they are not purchasing, of wide area IP networks traditionally manage either their own routers directly or hire a service provider to do so. Direct management gives such user, complete control over their own equipment. However, customers must develop in-house expertise in router management. On the other hand, with a provider-managed router, customers do not need to develop router management expertise, but give up the ability to make arbitrary changes whenever they like.
Traditionally, either the user manages all aspects of a router configuration, or the service provider manages all aspects of the configuration. Since configurations are complex and cryptic, it is difficult to partition responsibility for different parts of a single configuration. Furthermore, traditionally, a “QoS policy” comprises a complex set of rules for classifying IP traffic and for tuning router parameters. For example, an access list may be used to match traffic on a particular port, say TCP port 6512, and route that traffic into a particular queue, say a weighted fair queue, with a particular weight, say 40.5. Furthermore, routers manufactured by different companies have different types of queues and different low level commands, thereby making it even more difficult for the customer to manage different aspects of configuring the router.